home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / MwmUtil.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  3.6 KB  |  168 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2
  7. */ 
  8. /*   $RCSfile: MwmUtil.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:44:38 $ */
  9. /*
  10. *  (c) Copyright 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  11. #ifndef _XmMwmUtil_h
  12. #define _XmMwmUtil_h
  13.  
  14. #include <X11/Xmd.h>    /* for protocol typedefs */
  15.  
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19.  
  20. /*
  21.  * Contents of the _MWM_HINTS property.
  22.  */
  23.  
  24. typedef struct
  25. {
  26.     long    flags;
  27.     long    functions;
  28.     long    decorations;
  29.     int        input_mode;
  30.     long    status;
  31. } MotifWmHints;
  32.  
  33. typedef MotifWmHints    MwmHints;
  34.  
  35. /* bit definitions for MwmHints.flags */
  36. #define MWM_HINTS_FUNCTIONS    (1L << 0)
  37. #define MWM_HINTS_DECORATIONS    (1L << 1)
  38. #define MWM_HINTS_INPUT_MODE    (1L << 2)
  39. #define MWM_HINTS_STATUS    (1L << 3)
  40.  
  41. /* bit definitions for MwmHints.functions */
  42. #define MWM_FUNC_ALL        (1L << 0)
  43. #define MWM_FUNC_RESIZE        (1L << 1)
  44. #define MWM_FUNC_MOVE        (1L << 2)
  45. #define MWM_FUNC_MINIMIZE    (1L << 3)
  46. #define MWM_FUNC_MAXIMIZE    (1L << 4)
  47. #define MWM_FUNC_CLOSE        (1L << 5)
  48.  
  49. /* bit definitions for MwmHints.decorations */
  50. #define MWM_DECOR_ALL        (1L << 0)
  51. #define MWM_DECOR_BORDER    (1L << 1)
  52. #define MWM_DECOR_RESIZEH    (1L << 2)
  53. #define MWM_DECOR_TITLE        (1L << 3)
  54. #define MWM_DECOR_MENU        (1L << 4)
  55. #define MWM_DECOR_MINIMIZE    (1L << 5)
  56. #define MWM_DECOR_MAXIMIZE    (1L << 6)
  57.  
  58. /* values for MwmHints.input_mode */
  59. #define MWM_INPUT_MODELESS            0
  60. #define MWM_INPUT_PRIMARY_APPLICATION_MODAL    1
  61. #define MWM_INPUT_SYSTEM_MODAL            2
  62. #define MWM_INPUT_FULL_APPLICATION_MODAL    3
  63.  
  64. /* bit definitions for MwmHints.status */
  65. #define MWM_TEAROFF_WINDOW    (1L << 0)
  66.  
  67. /*
  68.  * The following is for compatibility only. It use is deprecated.
  69.  */
  70. #define MWM_INPUT_APPLICATION_MODAL    MWM_INPUT_PRIMARY_APPLICATION_MODAL
  71.  
  72.  
  73. /*
  74.  * Contents of the _MWM_INFO property.
  75.  */
  76.  
  77. typedef struct
  78. {
  79.     long    flags;
  80.     Window    wm_window;
  81. } MotifWmInfo;
  82.  
  83. typedef MotifWmInfo    MwmInfo;
  84.  
  85. /* bit definitions for MotifWmInfo .flags */
  86. #define MWM_INFO_STARTUP_STANDARD    (1L << 0)
  87. #define MWM_INFO_STARTUP_CUSTOM        (1L << 1)
  88.  
  89.  
  90.  
  91. /*
  92.  * Definitions for the _MWM_HINTS property.
  93.  */
  94.  
  95. typedef struct
  96. {
  97.     CARD32    flags;
  98.     CARD32    functions;
  99.     CARD32    decorations;
  100.     INT32    inputMode;
  101.     CARD32    status;
  102. } PropMotifWmHints;
  103.  
  104. typedef PropMotifWmHints    PropMwmHints;
  105.  
  106.  
  107. /* number of elements of size 32 in _MWM_HINTS */
  108. #define PROP_MOTIF_WM_HINTS_ELEMENTS    5
  109. #define PROP_MWM_HINTS_ELEMENTS        PROP_MOTIF_WM_HINTS_ELEMENTS
  110.  
  111. /* atom name for _MWM_HINTS property */
  112. #define _XA_MOTIF_WM_HINTS    "_MOTIF_WM_HINTS"
  113. #define _XA_MWM_HINTS        _XA_MOTIF_WM_HINTS
  114.  
  115. /*
  116.  * Definitions for the _MWM_MESSAGES property.
  117.  */
  118.  
  119. #define _XA_MOTIF_WM_MESSAGES    "_MOTIF_WM_MESSAGES"
  120. #define _XA_MWM_MESSAGES    _XA_MOTIF_WM_MESSAGES
  121.  
  122. /* atom that enables client frame offset messages */
  123. #define _XA_MOTIF_WM_OFFSET    "_MOTIF_WM_OFFSET"
  124.  
  125. /*
  126.  * Definitions for the _MWM_MENU property.
  127.  */
  128.  
  129. /* atom name for _MWM_MENU property */
  130. #define _XA_MOTIF_WM_MENU    "_MOTIF_WM_MENU"
  131. #define _XA_MWM_MENU        _XA_MOTIF_WM_MENU
  132.  
  133.  
  134. /*
  135.  * Definitions for the _MWM_INFO property.
  136.  */
  137.  
  138. typedef struct
  139. {
  140.     CARD32 flags;
  141.     CARD32 wmWindow;
  142. } PropMotifWmInfo;
  143.  
  144. typedef PropMotifWmInfo    PropMwmInfo;
  145.  
  146.  
  147. /* number of elements of size 32 in _MWM_INFO */
  148. #define PROP_MOTIF_WM_INFO_ELEMENTS    2
  149. #define PROP_MWM_INFO_ELEMENTS        PROP_MOTIF_WM_INFO_ELEMENTS
  150.  
  151. /* atom name for _MWM_INFO property */
  152. #define _XA_MOTIF_WM_INFO    "_MOTIF_WM_INFO"
  153. #define _XA_MWM_INFO        _XA_MOTIF_WM_INFO
  154.  
  155.  
  156. /*
  157.  * Miscellaneous atom definitions
  158.  */
  159.  
  160. /* atom for motif input bindings */
  161. #define _XA_MOTIF_BINDINGS    "_MOTIF_BINDINGS"
  162.  
  163. #ifdef __cplusplus
  164. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  165. #endif
  166.  
  167. #endif /* _XmMwmUtil_h */
  168.